"""*4.5 函数的可变参数**
可变参数：*args,**kwargs
    1. 可变参数：*args,**kwargs
    2. 可变参数的使用：
        1. *args：接收多个位置参数，将其封装到一个元组中
        2. **kwargs：接收多个关键字参数，将其封装到一个字典中
    3. 可变参数的注意事项：
"""
#一、*args:
def sum_all(*args):
    print("args:",args)
    print("type(args):",type(args))
    result=sum(args)
    print("sum:",result)
    for item in args:
        print(item)
    return result
sum_all(1,2,3)
#二、**kwargs:字典
def show_info(**kwargs):
    print("kwargs:",kwargs)
    print("type(kwargs):",type(kwargs))
    for key,value in kwargs.items():
        print(f"{key}:{value}")
    print("直接kwargs:",kwargs["name"])

show_info(name="张三",age=18,gender="男")
#解包
def func(a,b,c):
    print(a,b,c)

# *args
args=(1,2,3)
func(*args)
# **kwargs
kwargs={"a":1,"b":2,"c":3}
func(**kwargs)
